#!/bin/tcsh

#***************************************************************************
# * The Sierra Photonics, Inc. Software License, Version 1.0:
# *  
# * Copyright (c) 2012 by Sierra Photonics Inc.  All rights reserved.
# *  Author:        Jeff Collins, jcollins@sierraphotonics.com
# *  Author:        $Author$
# *  Check-in Date: $Date$ 
# *  Version #:     $Revision$
# *  
# * Redistribution and use in source and binary forms, with or without
# * modification, are permitted provided that the following conditions
# * are met and the person seeking to use or redistribute such software hereby
# * agrees to and abides by the terms and conditions below:
# *
# * 1. Redistributions of source code must retain the above copyright
# * notice, this list of conditions and the following disclaimer.
# *
# * 2. Redistributions in binary form must reproduce the above copyright
# * notice, this list of conditions and the following disclaimer in
# * the documentation and/or other materials provided with the
# * distribution.
# *
# * 3. The end-user documentation included with the redistribution,
# * if any, must include the following acknowledgment:
# * "This product includes software developed by Sierra Photonics Inc." 
# * Alternately, this acknowledgment may appear in the software itself,
# * if and wherever such third-party acknowledgments normally appear.
# *
# * 4. The Sierra Photonics Inc. names or marks must
# * not be used to endorse or promote products derived from this
# * software without prior written permission. For written
# * permission, please contact:
# *  
# *  Sierra Photonics Inc.
# *  attn:  Legal Department
# *  7563 Southfront Rd.
# *  Livermore, CA  94551  USA
# * 
# * IN ALL CASES AND TO THE FULLEST EXTENT PERMITTED UNDER APPLICABLE LAW,
# * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# * DISCLAIMED.  IN NO EVENT SHALL SIERRA PHOTONICS INC. OR 
# * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# * SUCH DAMAGE.
# *
# * This software consists of voluntary contributions made by many
# * individuals on behalf of the Altium Community Software.
# *
# * See also included file SPI_License.txt.
# ***************************************************************************

### Pull raw database files from Altium Vault server to local machine. 
./pull_Altium_Vault_to_local_machine


### Generate audit and backup files.

# Run PHP script to generate audit csv files.
c:/Program\ Files\ \(x86\)/PHP/php.exe -n create_audit_csv_files.php

# Forcibly delete existing gbak backup log file.
rm -f "../altium_vault_files/Data/backup.log"

# Run DOS bat file to run gbak backup of Altium Vault database.
# Gbak does not like being run from a cygwin shell.
# Warning:  This bat file has hardcoded full paths to database and database backup file embedded in it!
cmd.exe /c firebird_backup.bat


### Add new files to subversion (but don't checkin).

# Figure out where our current working directory is
set wd=`pwd`;
echo "wd is $wd"

# Cd to Vault directory
cd "../altium_vault_files/"

# Update the Log/ directory, to restore old log files that the pull from
# Vault server deleted.  This is solely for making the svn working copy
# appear to be happy.
svn update --accept mine-full Log

# Find all the files that we need to delete in subversion
# This only happens when we roll back the Vault and then audit the rollback result.
foreach i (`svn status Data/Files | grep \! | awk '{print $2}'`)

    # Delete this file/directory from svn
    svn del --force $i
end

# Find all the files that are not yet in subversion.
# Note that this assumes that there are no files or directories with a space (" ") in the name!
foreach i (`svn status . | grep \? | awk '{print $2}'`)

    # Add this file/directory to svn
    svn add --depth=infinity $i
end

echo "`pwd`"

# Change back to original working directory
cd "$wd"

# Find all the csv files that are not yet in subversion.
# Note that this assumes that there are no files or directories with a space (" ") in the name!
foreach i (`svn status . | grep \.csv | grep \? | awk '{print $2}'`)

    # Add this file to svn
    svn add $i
end
